
-- Para todas las bases de datos.

use Comercial

alter table dbo.Empleados
add CCostos int

update dbo.Empleados
set CCostos = 0

alter table dbo.Empleados
alter column CCostos int not null 


GO

--------------------------------------------------------------------------------------------
-- Autor:			WeCo/cbendayan
-- Creacion:		25/07/2008
-- Descripcion: 	GetAll Empleados Activos
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Empleados_GetAll]
AS
BEGIN
	SET NOCOUNT ON
	SET DATEFORMAT DMY;
SELECT 
		Id_Empleado,
		Nombre,
		Saldo,
		Remuneracion,
		Id_Periodo,
		Periodo,
		Id_Tarea,
		Tarea,
		Banco1,
		Cuenta1,
		Direccion,
		Id_Localidad,
		Localidad,
		CodPostal,
		Te1,
		Te2,
		Id_Provincia,
		Provincia,
		FechaIng,
		FechaEstado,
		Id_Estado,
		Estado,
		Contacto,
		Email,
		Obs,
		CCostos 

	FROM Empleados 
	WHERE 
			Estado	= 1	
	ORDER BY Nombre
END

-- exec [dbo].[Empleados_GetAll]


GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo/cbendayan
-- Creacion:		25/07/2008
-- Descripcion: 	GetOne Empleados 
--------------------------------------------------------------------------------------------

ALTER PROCEDURE [dbo].[Empleados_GetOne]
		@Id_Empleado int
AS
BEGIN
	SET NOCOUNT ON
	SET DATEFORMAT DMY;
SELECT 
		Id_Empleado,
		Nombre,
		Saldo,
		Remuneracion,
		Id_Periodo,
		Periodo,
		Id_Tarea,
		Tarea,
		Banco1,
		Cuenta1,
		Direccion,
		Id_Localidad,
		Localidad,
		CodPostal,
		Te1,
		Te2,
		Id_Provincia,
		Provincia,
		FechaIng,
		FechaEstado,
		Id_Estado,
		Estado,
		Contacto,
		Email,
		Obs,
		CCostos 

	FROM Empleados 
	WHERE 
			Id_Empleado = @Id_Empleado	
END


GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		22/06/2008
-- Descripcion: 	INSERT en tabla Empleados
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Empleados_Insert]

	-- Lista de Parmetros
		@Id_Empleado    int,
		@Nombre			nvarchar(50),
		@Saldo			decimal(12,2),
		@Remuneracion 	decimal(12,2),
		@Id_Periodo		int,
		@Periodo		nvarchar(10),
		@Id_Tarea		int,
		@Tarea			nvarchar(50),
		@Banco1			nvarchar(50),
		@Cuenta1		nvarchar(50),
		@Direccion		nvarchar(50),
		@Id_Localidad	int,
		@Localidad		nvarchar(50),
		@CodPostal		nchar(8),
		@Te1			nvarchar(15),
		@Te2			nvarchar(15),
		@Id_Provincia	int,
		@Provincia		nvarchar(15),
		@FechaIng		datetime,
		@FechaEstado	datetime,
		@Id_Estado		int,
		@Estado			nvarchar(10),
		@Contacto		nvarchar(50),
		@Email			nvarchar(30),
		@Obs			nvarchar(250),
		@CCostos		int

AS
BEGIN
	SET NOCOUNT ON

	SET DATEFORMAT DMY

	INSERT INTO Empleados (
		Id_Empleado,
		Nombre,
		Saldo,
		Remuneracion,
		Id_Periodo,
		Periodo,
		Id_Tarea,
		Tarea,
		Banco1,
		Cuenta1,
		Direccion,
		Id_Localidad,
		Localidad,
		CodPostal,
		Te1,
		Te2,
		Id_Provincia,
		Provincia,
		FechaIng,
		FechaEstado,
		Id_Estado,
		Estado,
		Contacto,
		Email,
		Obs,
		CCostos 

	) VALUES (
		@Id_Empleado,
		@Nombre,
		@Saldo,
		@Remuneracion,
		@Id_Periodo,
		@Periodo,
		@Id_Tarea,
		@Tarea,
		@Banco1,
		@Cuenta1,
		@Direccion,
		@Id_Localidad,
		@Localidad,
		@CodPostal,
		@Te1,
		@Te2,
		@Id_Provincia,
		@Provincia,
		@FechaIng,
		@FechaEstado,
		@Id_Estado,
		@Estado,
		@Contacto,
		@Email,
		@Obs,
		@CCostos
	);

END


GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		22/06/2008
-- Descripcion: 	UPDATE en tabla Empleados
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Empleados_Update]

	-- Lista de Parmetros
		@Id_Empleado	int,
		@Nombre			nvarchar(50),
		@Saldo			decimal(12,2),
		@Remuneracion 	decimal(12,2),
		@Id_Periodo		int,
		@Periodo		nvarchar(10),
		@Id_Tarea		int,
		@Tarea			nvarchar(50),
		@Banco1			nvarchar(50),
		@Cuenta1		nvarchar(50),
		@Direccion		nvarchar(50),
		@Id_Localidad	int,
		@Localidad		nvarchar(50),
		@CodPostal		nchar(8),
		@Te1			nvarchar(15),
		@Te2			nvarchar(15),
		@Id_Provincia	int,
		@Provincia		nvarchar(15),
		@FechaIng		datetime,
		@FechaEstado	datetime,
		@Id_Estado		int,
		@Estado			nvarchar(10),
		@Contacto		nvarchar(50),
		@Email			nvarchar(30),
		@Obs			nvarchar(250),
		@CCostos		int 

AS
UPDATE Empleados 
	SET 
		Nombre			= @Nombre,
		Saldo			= @Saldo,
		Banco1			= @Banco1,
		Cuenta1			= @Cuenta1,
		Remuneracion	= @Remuneracion,
		Id_Periodo		= @Id_Periodo,
		Periodo			= @Periodo,
		Id_Tarea		= @Id_Tarea,
		Tarea			= @Tarea,
		Direccion		= @Direccion,
		Id_Localidad	= @Id_Localidad,
		Localidad		= @Localidad,
		CodPostal		= @CodPostal,
		Te1				= @Te1,
		Te2				= @Te2,
		Id_Provincia	= @Id_Provincia,
		Provincia		= @Provincia,
		FechaIng		= @FechaIng,
		FechaEstado		= @FechaEstado,
		Id_Estado		= @Id_Estado,
		Estado			= @Estado,
		Contacto		= @Contacto,
		Email			= @Email,
		Obs				= @Obs,
		CCostos			= @CCostos 
WHERE
		Id_Empleado	= @Id_Empleado



GO


alter table dbo.Ventas
add IdVendedor int

update dbo.Ventas
set IdVendedor = 0

alter table dbo.Ventas
alter column IdVendedor int not null 


GO

--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008
-- Descripcion: 	INSERT en tabla Ventas
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Ventas_Insert]

	-- Lista de Parmetros
		@Id_Ventas      float,
		@Id_Caja		float,
		@Prefijo		nvarchar(10),
		@Factura		float,
		@PFMes			int,
		@PFAnio			int,
		@Id_Cliente		float,
		@Cliente		nvarchar(50),
		@Id_Usuario		int,
		@Fecha			datetime,
		@Id_Estado		int,
		@Estado			nvarchar(10),
		@Kilos			decimal(12,2),
		@Pago			decimal(12,2),
		@CtaCte			decimal(12,2),
		@Total			decimal(12,2),
		@Obs			nvarchar(250),
		@FCondVenta		nvarchar(30),
		@FOrdenC		nvarchar(15),
		@FOrdenT		nvarchar(15),
		@FRemito		nvarchar(15),
		@Tipo			nvarchar(1),
		@sCuit			nvarchar(13),
		@IdVendedor		int  

AS
BEGIN
	SET NOCOUNT ON

	SET DATEFORMAT DMY

	INSERT INTO Ventas (
		Id_Ventas,
		Id_Caja,
		Prefijo,
		Factura,
		PFMes,
		PFAnio,
		Id_Cliente,
		Cliente,
		Id_Usuario,
		Fecha,
		Id_Estado,
		Estado,
		Kilos,
		Pago,
		CtaCte,
		Total,
		Obs,
		FCondVenta,
		FOrdenC,
		FOrdenT,
		FRemito,
		Tipo,
		sCuit,
		IdVendedor 

	) VALUES (
		@Id_Ventas,
		@Id_Caja,
		@Prefijo,
		@Factura,
		@PFMes,
		@PFAnio,
		@Id_Cliente,
		@Cliente,
		@Id_Usuario,
		@Fecha,
		@Id_Estado,
		@Estado,
		@Kilos,
		@Pago,
		@CtaCte,
		@Total,
		@Obs,
		@FCondVenta,
		@FOrdenC,
		@FOrdenT,
		@FRemito,
		@Tipo,
		@sCuit,
		@IdVendedor 
	);
END


GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo\cbendayan
-- Creacion:		30/07/2008
-- Descripcion: 	Search en tabla Ventas
-------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Ventas_Search]
	-- Lista de Parmetros
	--@OrdenDeRegistros 				    VARCHAR(100) = null,
	@Id_Ventas				float = null,
	@Id_Caja				float = null,			
	@Factura				float = null,
	@PFMes					int = null,
	@PFAnio					int = null,
	@Id_Cliente				float = null,
	@FechaD					DATETIME = null,
	@FechaH					DATETIME = null,
	@Id_Estado				INT = null,
	@IdVendedor				int = null

AS
BEGIN
	SET NOCOUNT ON
	SET DATEFORMAT DMY

	----------------------------------------
	-- Definimos Variables
	----------------------------------------
	DECLARE @sql        nvarchar(4000)
	DECLARE @parametros nvarchar(4000)

	SET @sql = N'	SELECT 
					Id_Ventas,
					Id_Caja,
					Prefijo,
					Factura,
					PFMes,
					PFAnio,
					Id_Cliente,
					Cliente,
					Id_Usuario,
					Fecha,
					Id_Estado,
					Estado,
					Kilos,
					Pago,
					CtaCte,
					Total,
					Obs,
					FCondVenta,
					FOrdenC,
					FOrdenT,
					FRemito,
					Tipo,
					sCuit,
					IdVendedor 
					FROM Ventas WITH (NOLOCK) WHERE 1 = 1 '

	-- @Id_Ventas = TYPE INT

	IF (@Id_Ventas IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Ventas = @Id_Ventas '
	END

	-- @Id_Caja = TYPE INT

	IF (@Id_Caja IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Caja = @Id_Caja '
	END

	-- @Factura = TYPE INT

	IF (@Factura  IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Factura  = @Factura  '
	END

	-- @PFMes = TYPE INT

	IF (@PFMes  IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND PFMes  = @PFMes '
	END

	-- @PFAnio = TYPE INT

	IF (@PFAnio  IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND PFAnio  = @PFAnio'
	END

	-- @Id_Cliente = TYPE INT

	IF (@Id_Cliente IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Cliente = @Id_Cliente '
	END	

	-- @FechaD = DATETIME

	IF (@FechaD IS NOT NULL)	
	BEGIN
			SET @sql = @sql + ' AND Fecha !< @FechaD '
	END

	-- @FechaH = DATETIME

	IF (@FechaH IS NOT NULL)	
	BEGIN
			SET @sql = @sql + ' AND Fecha !> @FechaH '
	END

	-- @Id_Estadp = INT

	IF (@Id_Estado IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Estado = @Id_Estado '
	END
	
	-- @IdVendedor = INT

	IF (@IdVendedor IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND IdVendedor = @IdVendedor '
	END
	
	BEGIN
			SET @sql = @sql + ' ORDER BY Id_Ventas '
	END
	
	SELECT @parametros = '@Id_Ventas float, @Id_Caja float, @Factura float, @PFMes int, @PFAnio int, @Id_Cliente float, @FechaD DATETIME, @FechaH DATETIME, @Id_Estado INT, @IdVendedor INT '

	EXEC sp_executesql @sql, @parametros, @Id_Ventas, @Id_Caja, @Factura, @PFMes, @PFAnio, @Id_Cliente, @FechaD, @FechaH, @Id_Estado, @IdVendedor  	
END

-- exec Ventas_Search NULL,NULL, NULL,3,2010,NULL,'01/01/2008','31/12/2010',NULL,NULL


GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008
-- Descripcion: 	UPDATE en tabla Ventas
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Ventas_Update]

	-- Lista de Parmetros
		@Id_Ventas      float,
		@Id_Caja		float,
		@Prefijo		nvarchar(10),
		@Factura		float,
		@PFMes			int,
		@PFAnio			int,
		@Id_Cliente		float,
		@Cliente		nvarchar(50),
		@Id_Usuario		int,
		@Fecha			datetime,
		@Id_Estado		int,
		@Estado			nvarchar(10),
		@Kilos			decimal(12,2),
		@Pago			decimal(12,2),
		@CtaCte			decimal(12,2),
		@Total			decimal(12,2),
		@Obs			nvarchar(250),
		@FCondVenta		nvarchar(30),
		@FOrdenC		nvarchar(15),
		@FOrdenT		nvarchar(15),
		@FRemito		nvarchar(15),
		@Tipo			nvarchar(1),
		@sCuit			nvarchar(13),
		@IdVendedor		int 

AS
UPDATE Ventas
	SET 
		Id_Ventas		= @Id_Ventas,
		Id_Caja			= @Id_Caja,
		Prefijo			= @Prefijo,
		Factura			= @Factura,
		PFMes			= @PFMes,
		PFAnio			= @PFAnio,
		Id_Cliente		= @Id_Cliente,
		Cliente			= @Cliente,
		Id_Usuario		= @Id_Usuario,
		Fecha			= @Fecha,
		Id_Estado		= @Id_Estado,
		Estado			= @Estado,
		Kilos			= @Kilos,
		Pago			= @Pago,
		CtaCte			= @CtaCte,
		Total			= @Total,
		Obs				= @Obs,
		FCondVenta		= @FCondVenta,
		FOrdenC			= @FOrdenC,
		FOrdenT			= @FOrdenT,
		FRemito			= @FRemito,
		Tipo			= @Tipo,
		sCuit			= @sCuit,
		IdVendedor		= @IdVendedor 
WHERE
		Id_Ventas	= @Id_Ventas 


GO


insert into [dbo].[Conceptos]
  (Id_Tipo,Id_Concepto,Tipo,Concepto)
values
  (2,999,'Ingresos            ','Devolucion Adelanto')
  
  
  
 GO
 
 --   Agregar Columna CCostos a Egresos
 
alter table dbo.Egresos
add CCostos int

update dbo.Egresos
set CCostos = 0

alter table dbo.Egresos
alter column CCostos int not null 

GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008
-- Descripcion: 	INSERT en tabla Egresos
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Egresos_Insert]

	-- Lista de Parmetros
		@Id_Egreso      float,
		@Id_Caja		float,
		@Id_Concepto	int,
		@Concepto		nvarchar(50),
		@Id_Compra		float,
		@Id_Proveedor	float,
		@Monto			decimal(12,2),
		@Fecha			datetime,
		@Observaciones	nvarchar(250),
		@Id_Usuario		int,
		@CCostos		int    

AS
BEGIN
	SET NOCOUNT ON

	SET DATEFORMAT DMY

	INSERT INTO Egresos (
		Id_Egreso,
		Id_Caja,
		Id_Concepto,
		Concepto,
		Id_Compra,
		Id_Proveedor,
		Monto,
		Fecha,
		Observaciones,
		Id_Usuario, 
		[CCostos] 

	) VALUES (
		@Id_Egreso,
		@Id_Caja,
		@Id_Concepto,
		@Concepto,
		@Id_Compra,
		@Id_Proveedor,
		@Monto,
		@Fecha,
		@Observaciones,
		@Id_Usuario,
		@CCostos
	);
END


GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo\cbendayan
-- Creacion:		30/07/2008
-- Descripcion: 	Search en tabla Egresos
-------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Egresos_Search]
	-- Lista de Parmetros
	--@OrdenDeRegistros 				    VARCHAR(100) = null,
	@Id_Egreso				float = null,
	@Id_Caja				float = null,
	@Id_Concepto			INT = null,
	@FechaD					DATETIME = null,
	@FechaH					DATETIME = null,
	@CCostos				INT = null 

AS
BEGIN
	SET NOCOUNT ON
	SET DATEFORMAT DMY

	----------------------------------------
	-- Definimos Variables
	----------------------------------------
	DECLARE @sql        nvarchar(4000)
	DECLARE @parametros nvarchar(4000)

	SET @sql = N'	SELECT 
					Id_Egreso,
					Id_Caja,
					Id_Concepto,
					Concepto,
					Id_Compra,
					Id_Proveedor,
					Monto,
					Observaciones,
					Fecha,
					Id_Usuario,
					CCostos  
					FROM Egresos WITH (NOLOCK) WHERE 1 = 1 '

	-- @Id_Egreso = TYPE INT

	IF (@Id_Egreso IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Egreso = @Id_Egreso '
	END

	-- @Id_Caja = TYPE INT

	IF (@Id_Caja IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Caja = @Id_Caja '
	END

	-- @Id_Concepto = TYPE INT

	IF (@Id_Concepto IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND Id_Concepto = @Id_Concepto '
	END	

	-- @FechaD = DATETIME

	IF (@FechaD IS NOT NULL)	
	BEGIN
			SET @sql = @sql + ' AND Fecha !< @FechaD '
	END

	-- @FechaH = DATETIME

	IF (@FechaH IS NOT NULL)	
	BEGIN
			SET @sql = @sql + ' AND Fecha !> @FechaH '
	END
	
	-- @CCostos = TYPE INT

	IF (@CCostos IS NOT NULL)
	BEGIN			
			SET @sql = @sql + ' AND CCostos = @CCostos '
	END
	
	BEGIN
			SET @sql = @sql + ' ORDER BY Id_Egreso '
	END
	
	SELECT @parametros = '@Id_Egreso float,@Id_Caja float, @Id_Concepto INT, @FechaD DATETIME, @FechaH DATETIME, @CCostos INT '

	EXEC sp_executesql @sql, @parametros, @Id_Egreso, @Id_Caja, @Id_Concepto, @FechaD, @FechaH, @CCostos   	
END


GO


--------------------------------------------------------------------------------------------
-- Autor:			WeCo/CBendayan
-- Creacion:		27/07/2008
-- Descripcion: 	UPDATE en tabla Egresos
--------------------------------------------------------------------------------------------
ALTER PROCEDURE [dbo].[Egresos_Update]

	-- Lista de Parmetros
		@Id_Egreso      float,
		@Id_Caja		float,
		@Id_Concepto	int,
		@Concepto		nvarchar(50),
		@Id_Compra		int,
		@Id_Proveedor	float,
		@Monto			decimal(12,2),
		@Fecha			datetime,
		@Observaciones	nvarchar(250),
		@Id_Usuario		int,
		@CCostos		int 

AS
UPDATE Egresos
	SET 
		Id_Egreso		= @Id_Egreso,
		Id_Caja			= @Id_Caja,
		Id_Concepto		= @Id_Concepto,
		Id_Compra		= @Id_Compra,
		Id_Proveedor	= @Id_Proveedor,
		Concepto		= @Concepto,
		Monto			= @Monto,
		Fecha			= @Fecha,
		Observaciones	= @Observaciones,
		Id_Usuario		= @Id_Usuario,
		CCostos			= @CCostos 
WHERE
		Id_Egreso	= @Id_Egreso 
		
		
GO












